cont, ans = dict(), "YES"
for item in input():
if item == ' ':
continue
if item in cont:
cont[item] += 1
else:
cont[item] = 1
for item in input():
if item == ' ':
continue
if item in cont and cont[item] > 0:
cont[item] -= 1
else:
ans = "NO"
break
print(ans)
#include <iostream>
#include <algorithm>
#include <string>
#include <cmath>
#include <vector>
#include <map>
#include <queue>
#include <deque>
#include <unordered_map>
#include <set>
#include <unordered_set>
#define ll long long
//author: @u_d_ash_
using namespace std;
void solvetc(){
//code here
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string so, sp;
getline(cin, so);
getline(cin, sp);
multiset<char> o, p;
for(int i = 0; i < so.length(); i++){
if(so[i] != ' '){
o.insert(so[i]);
}
}
for(int i = 0; i < sp.length(); i++){
if(sp[i] != ' '){
p.insert(sp[i]);
}
}
for(auto it = p.begin(); it != p.end(); it++){
if(find(o.begin(), o.end(), (*it)) == o.end()){
cout << "NO" << endl;
return 0;
}else{
o.erase(o.find(*it));
}
}
cout << "YES" << endl;
return 0;
/*
int t;
cin >> t;
while(t--){
solvetc();
}*/
}
620A - Professor GukiZ's Robot | 1342A - Road To Zero |
1520A - Do Not Be Distracted | 352A - Jeff and Digits |
1327A - Sum of Odd Integers | 1276A - As Simple as One and Two |
812C - Sagheer and Nubian Market | 272A - Dima and Friends |
1352C - K-th Not Divisible by n | 545C - Woodcutters |
1528B - Kavi on Pairing Duty | 339B - Xenia and Ringroad |
189A - Cut Ribbon | 1182A - Filling Shapes |
82A - Double Cola | 45A - Codecraft III |
1242A - Tile Painting | 1663E - Are You Safe |
1663D - Is it rated - 3 | 1311A - Add Odd or Subtract Even |
977F - Consecutive Subsequence | 939A - Love Triangle |
755A - PolandBall and Hypothesis | 760B - Frodo and pillows |
1006A - Adjacent Replacements | 1195C - Basketball Exercise |
1206A - Choose Two Numbers | 1438B - Valerii Against Everyone |
822A - I'm bored with life | 9A - Die Roll |